home *** CD-ROM | disk | FTP | other *** search
/ Personal Computer World 2009 February / PCWFEB09.iso / Software / Resources / Chat & Communication / Digsby build 37 / digsby_setup.exe / lib / dns / rrset.pyo (.txt) < prev    next >
Python Compiled Bytecode  |  2008-10-13  |  4KB  |  121 lines

  1. # Source Generated with Decompyle++
  2. # File: in.pyo (Python 2.5)
  3.  
  4. import dns.name as dns
  5. import dns.rdataset as dns
  6. import dns.rdataclass as dns
  7. import dns.renderer as dns
  8.  
  9. class RRset(dns.rdataset.Rdataset):
  10.     __slots__ = [
  11.         'name',
  12.         'deleting']
  13.     
  14.     def __init__(self, name, rdclass, rdtype, covers = dns.rdatatype.NONE, deleting = None):
  15.         super(RRset, self).__init__(rdclass, rdtype)
  16.         self.name = name
  17.         self.deleting = deleting
  18.  
  19.     
  20.     def _clone(self):
  21.         obj = super(RRset, self)._clone()
  22.         obj.name = self.name
  23.         obj.deleting = self.deleting
  24.         return obj
  25.  
  26.     
  27.     def __repr__(self):
  28.         if self.covers == 0:
  29.             ctext = ''
  30.         else:
  31.             ctext = '(' + dns.rdatatype.to_text(self.covers) + ')'
  32.         if self.deleting is not None:
  33.             dtext = ' delete=' + dns.rdataclass.to_text(self.deleting)
  34.         else:
  35.             dtext = ''
  36.         return '<DNS ' + str(self.name) + ' ' + dns.rdataclass.to_text(self.rdclass) + ' ' + dns.rdatatype.to_text(self.rdtype) + ctext + dtext + ' RRset>'
  37.  
  38.     
  39.     def __str__(self):
  40.         return self.to_text()
  41.  
  42.     
  43.     def __eq__(self, other):
  44.         if not isinstance(other, RRset):
  45.             return False
  46.         
  47.         if self.name != other.name:
  48.             return False
  49.         
  50.         return super(RRset, self).__eq__(other)
  51.  
  52.     
  53.     def match(self, name, rdclass, rdtype, covers, deleting = None):
  54.         if not super(RRset, self).match(rdclass, rdtype, covers):
  55.             return False
  56.         
  57.         if self.name != name or self.deleting != deleting:
  58.             return False
  59.         
  60.         return True
  61.  
  62.     
  63.     def to_text(self, origin = None, relativize = True, **kw):
  64.         return super(RRset, self).to_text(self.name, origin, relativize, self.deleting, **kw)
  65.  
  66.     
  67.     def to_wire(self, file, compress = None, origin = None, **kw):
  68.         return super(RRset, self).to_wire(self.name, file, compress, origin, self.deleting, **kw)
  69.  
  70.     
  71.     def to_rdataset(self):
  72.         return dns.rdataset.from_rdata_list(self.ttl, list(self))
  73.  
  74.  
  75.  
  76. def from_text_list(name, ttl, rdclass, rdtype, text_rdatas):
  77.     if isinstance(name, (str, unicode)):
  78.         name = dns.name.from_text(name, None)
  79.     
  80.     if isinstance(rdclass, str):
  81.         rdclass = dns.rdataclass.from_text(rdclass)
  82.     
  83.     if isinstance(rdtype, str):
  84.         rdtype = dns.rdatatype.from_text(rdtype)
  85.     
  86.     r = RRset(name, rdclass, rdtype)
  87.     r.update_ttl(ttl)
  88.     for t in text_rdatas:
  89.         rd = dns.rdata.from_text(r.rdclass, r.rdtype, t)
  90.         r.add(rd)
  91.     
  92.     return r
  93.  
  94.  
  95. def from_text(name, ttl, rdclass, rdtype, *text_rdatas):
  96.     return from_text_list(name, ttl, rdclass, rdtype, text_rdatas)
  97.  
  98.  
  99. def from_rdata_list(name, ttl, rdatas):
  100.     if isinstance(name, (str, unicode)):
  101.         name = dns.name.from_text(name, None)
  102.     
  103.     if len(rdatas) == 0:
  104.         raise ValueError, 'rdata list must not be empty'
  105.     
  106.     r = None
  107.     for rd in rdatas:
  108.         if r is None:
  109.             r = RRset(name, rd.rdclass, rd.rdtype)
  110.             r.update_ttl(ttl)
  111.             first_time = False
  112.         
  113.         r.add(rd)
  114.     
  115.     return r
  116.  
  117.  
  118. def from_rdata(name, ttl, *rdatas):
  119.     return from_rdata_list(name, ttl, rdatas)
  120.  
  121.